package controllers;

import java.sql.SQLException;
import java.util.List;

import models.Pagamento;
import repository.IRepositorioPagamento;
import repository.RepositorioPagamento;

public class ControllerPagamento {

	private IRepositorioPagamento pagamentoRepositorio;

	// GETs e SETs do clienteRepositorio
	// --------------------------------------------------------------------
	public IRepositorioPagamento getPagamentoRepositorio() {
		return pagamentoRepositorio;
	}

	public void setPagamentoRepositorio(
			IRepositorioPagamento pagamentoRepositorio) {
		this.pagamentoRepositorio = pagamentoRepositorio;
	}

	// -------------------------------------------------------------------
	public ControllerPagamento(RepositorioPagamento repositorioPagamento) {
		this.setPagamentoRepositorio(repositorioPagamento);
	}

	// -------------------------------------------------------------------
	public boolean inserir(Pagamento pagamento) throws SQLException {
		return pagamentoRepositorio.inserirPagamento(pagamento);
	}

	// -------------------------------------------------------------------
	public boolean remover(Pagamento pagamento) throws SQLException {
		return pagamentoRepositorio.removerPagamento(pagamento);
	}

	// -------------------------------------------------------------------
	public boolean atualizar(Pagamento pagamento) throws SQLException {
		return pagamentoRepositorio.atualizarPagamento(pagamento);
	}

	// -------------------------------------------------------------------
	public List<Pagamento> listar() throws SQLException {
		return pagamentoRepositorio.listarPagamento();
	}

	// -------------------------------------------------------------------
	public List<Pagamento> buscarFormaPagamento(String chave)
			throws SQLException {
		return pagamentoRepositorio.buscarPagamentoForma(chave);

	}

	// -------------------------------------------------------------------
	public int ultimoId() throws SQLException {
		return pagamentoRepositorio.ultimoIdPagamento();
	}

	// -------------------------------------------------------------------
	public Pagamento retornaPagamento(int id) throws SQLException {
		return pagamentoRepositorio.retornaPagamento(id);
	}
	// -------------------------------------------------------------------
}
